草庐IT

python shuffle算法性能

全部标签

c# - CommandBehavior.SequentialAccess 是否有任何性能提升?

我意识到我总是按照索引(使用常量)返回的顺序读取我的字段。因此,据我所知,我的代码已经与CommandBehavior.SequentialAccess兼容。如果我打开它会有什么好处吗?DataReader已经是只向前的,只读的,这是真正的性能提升吗? 最佳答案 它的主要用途是当您读取非常大的CLOB(nvarchar(max)等)或BLOB(varbinary(max))字段时。在默认用法中,它会先缓冲整行数据,然后再让您靠近它——这可能意味着它必须为任何BLOB/CLOB字段分配一个大缓冲区。使用顺序模式时,不会缓冲行;您可以对

c# - 我如何充分了解 CLR 以对性能问题做出有根据的猜测?

是的,我正在使用分析器(ANTS)。但在微观层面,它不能告诉你如何解决你的问题。我现在正处于微优化阶段。例如,我正在对此进行分析:for(intx=0;xANTS显示y循环线花费了大量时间。我认为这是因为它必须不断调用Heightgetter。所以我创建了一个本地intheight=Height;在循环之前,并使内部循环检查y.这实际上使性能变差了!ANTS现在告诉我x-loop-line有问题。嗯?这应该是微不足道的,它是外循环!最终我有了一个启示——也许使用外循环绑定(bind)的属性和内循环绑定(bind)的本地使得CLR经常在“本地”缓存和“this-pointer”缓存之间跳

c# - SqlCommand.Cancel() 导致性能提升?

我已经看到它出现在代码中的几个地方,从来没有解释,只是在它上面的一个神秘注释(声明和执行包括上下文的概念。它只是运行SqlCommand的标准过程)://SqlCommandcmd=newSqlCommand();//cmd.ExecuteReader();//Readofftheresults//Cancelthecommand.Thisimprovesquerytime.cmd.Cancel();基本上,在完成查询后,它会返回并取消它,声称性能有所提升。我想您可能会在它消失并释放XmlReader时取回一些内存,但通常它无论如何都会超出范围。我以前从来没有为它烦恼过,但它终于出现在

c# - .NET 中 byte 与 int 的性能

在.NET之前的世界里,我总是假设int比byte快,因为这是处理器的工作方式。现在重要的是使用int的习惯,即使字节可以工作,例如当字节是存储在数据库中的内容时问题:.NET如何从性能/内存的角度处理字节类型和int。更新:感谢您的输入。不幸的是,没有人真正回答这个问题。.NET如何处理字节与整数。如果性能没有差异,那么我喜欢chills42的说法:用于算术的int二进制字节我将继续这样做。 最佳答案 你的.NET之前的假设是错误的——一直有很多计算机系统围绕着它,虽然名义上是“字节可寻址的”,但必须通过读取一个完整的单词来设置一

c# - 属性 Get v 方法的性能

我有一个包含方法集合的类,我想知道使用方法而不是属性是否有任何性能提升?一些方法相当复杂,但基本上返回一个IEnumerable对象集合,而其他方法则是简单的返回值。Where(x=>x.property=="comparison")Linq查询。示例方法:publicIEnumerableActivePens()=>Pens.Where(x=>x.Status=="Active");属性:publicIEnumerableActivePens=>Pens.Where(x=>x.Status=="Active");将它们标记为属性或方法会更好吗? 最佳答案

c# - Microsoft Office 互操作性能问题

我尝试在我的C#4.0Windows应用程序中将datagridview数据导出到excel文件。我们使用了Microsoft.Office.Interop.Exceldll版本12.0.0.0。一切都很好很好。但是当我尝试导出超过1000条datagridview记录时,它花费的时间太长了时间。我怎样才能提高性能。请参阅下面的Excel帮助程序代码。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.IO;usingMicrosoft.Office.Inte

c# - 快速算法找到 x 最接近平面上给定点的点

我想找到一种快速算法,以便找到与平面上给定点最近的x个点。我们实际上处理的点并不多(在1,000到100,000之间),但我需要这些点中的每一个点的x个最近点。(其中x通常介于5和20之间。)我需要用C#编写它。关于用例的更多上下文:这些点是map上的坐标。(我知道,这意味着我们并不是在谈论一个平面,但我希望避免处理投影问题。)在端点附近有很多其他点应该显示为红色,没有太多的点靠近它们的点应显示为绿色。在这两个极端之间,点在颜色渐变上。 最佳答案 您需要的是适合组织平面中点的数据结构。K-D-Tree经常用于这种情况。参见k-dtr

c# - 6字符短哈希算法

我的目标是为长度为42个不区分大小写的字母数字字符的字符串生成一个6个字符的短哈希字符串(可能包含字符[A-Z][a-z][0-9])。唯一性是关键要求。安全性或性能并不是那么重要。是否有特定的算法可以给出此结果,或者我应该坚持截断MD5哈希或SHA-1哈希(Likeinthisquestion)?如果是,发生碰撞的概率是多少? 最佳答案 最好的选择是截断众所周知的散列函数(MD5或SHA系列),因为这些算法具有统计上良好的散列值均匀分布(并且还使用完整的散列,而不仅仅是6个字符)。现在一些碰撞概率的计算-Numberoflette

c# - 如何使用反射创建高性能 .NET 类?

好吧,我们都知道反射的性能比“新建”一个类实例要低很多倍,而且在很多情况下这很好,具体取决于应用程序的要求。问题:我们如何使用后期绑定(bind)(反射)策略创建高性能.NET类。我有一个现有要求,要求使用反射(CreateInstance)创建类实例,但性能至关重要。在我的情况下,我正在为我们应用程序中的每个传入SMS消息创建实例。在生产期间,这很容易每天超过一百万。我想听听并分享一些关于如何在不直接引用代码中的类的情况下创建.NET类的想法,例如使用反射。我也在想是否有办法以某种方式缓存可以缩短“创建”时间的类工厂 最佳答案 一

如何分析Python代码的性能?

问候。为了分析Python代码的性能,下面的代码可以做到吗?importtimeto=time.clock();x=[];foriinrange(0,4):x.append(i*0.1);tend=time.clock();print(tend-to);to=time.clock();y=list(map(lambdax:x*0.1,list(range(0,4))));tend=time.clock();print(tend-to);计时器显示不一致。但是有时候,两个计时器的结果也会显示出不一致的不一致(有时第一个计时器更快,有时是第二个计时器,尽管第一个计时器往往更快)。一些输出:4.63